home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Software Vault: The Games Collection 1
/
software vault.zip
/
software vault
/
CDR09
/
CEDTUT.ZIP
/
UTILS.TXT
< prev
Wrap
Text File
|
1991-10-18
|
38KB
|
941 lines
Utilities for CHESSEDT.EXE
Andrew Kochera
All programs in this package are copyright 1991 by Andrew
Kochera.
CHESSEDT is copyright by Stephen M. Wharry. CHESSEDT is
shareware.
NICBASE is a trademark of Interchess.
TurboBasic is a trademark of Borland International, Inc.
The programs in this package are Freeware; you may copy, use, and
distribute these programs without charge. However, if
distributed, they must be unchanged and complete.
WAIVER: the author of these programs accepts no liability or
responsibility for the manner in which these programs are used,
and will not be responsible for damages, monetary or otherwise,
resulting from the use or misuse of these programs.
I. Introduction
Stephen Wharry's CHESSEDT program is primarily designed for
use by the postal player. It's storage, retrieval, and editing
features are quite well designed for this purpose; indeed, its
popularity on Chess bulletin boards is a tribute to its inspired
design. However, it lacks many of the features that might make
it a full fledged database, such as an opening key and
sophisticated search routines. The following programs are
intended to bolster CHESSEDT's database abilities, though they
are by no means as clever, fast, or exhaustive as commercial
database programs.
There are 6 programs in this package:
UTILS.TXT this documentation
AUTOKEY.EXE opening key program
OPENING.DAT opening key database
FINDGAME.EXE search/print game program
EXTRACT.EXE pre-extraction program
FLNM.EXE multiple game file rename utility
In addition, you may find a READ.ME file which contains
notes on the current release version.
Finally, I should emphasize that although these programs are
Freeware, Stephen Wharry's CHESSEDT program is not. It is
shareware and may be found on many BBS's, especially those with a
chess conference. If you decide that you like CHESSEDT, and
continue to use it, please register it with Mr. Wharry at the
address provided in his manual. In return, you will be provided
with the most recent updates and have the satisfaction of knowing
that you have supported the concept of shareware.
II. Using CHESSEDT as a Database
As a modem user, I have benefited from the wealth of chess
ASCII files available on various networks. Over the past year, I
have collected virtually thousands of chess games from famous
players and events, all by logging on to some of my favorite
computer bulletin boards. Naturally, having chess games in text
form is very useful; you can set up your chess board and play
through the games. This is both entertaining and educational.
However, after several games it also becomes tedious to continue
setting up the board and moving pieces by hand.
An obvious answer to this problem is to buy a program which
can read ASCII (text) chess games, and display them graphically
on the computer screen. Not only does it make game review
easier, but you can also take advantage of the computer's
abilities to search through collections of games using various
criteria. The best shareware program I have seen for this
purpose on computer networks is Stephen Wharry's CHESSEDT, which
was originally designed for postal use. However, for managing
large numbers of games, additional file management abilities and
search criteria are desirable.
For instance, to import a game from a text file, CHESSEDT
requires that the user format the text file with certain
delimiters (eg, 'bg' 'eg' 'ba') so that the program will know
where a game begins and ends. In a very large text file of chess
games, this can be tiring. Why not try to develop a program
which will automatically insert these delimiters? To be sure, it
is no easy task, since there are many formats that chess games
are recorded in. But some formats seem more common than others,
and I have written a pre-extraction utility to help insert
delimiters to those common type ASCII chess files. This speeds
up extraction of large quantities of games.
Also, if a user wishes to create an opening database, it
would be nice to have a program which will automatically read in
a range of CHESSEDT game files and key their openings. To that
end, I have written a simple AUTOKEY utility; once game files are
keyed, openings may be searched by name.
CHESSEDT already has an excellent search game utility. The
user can search a range of files by player's names, tournament,
date, etc. The version of CHESSEDT I currently use searches text
by looking for a match on the left hand side of the string, ie,
if you search for "Bobby" you will find games that have "Bobby
Fischer" but not necessarily games that have "Fischer, Bobby". I
have here included a utility which will search for occurence in a
string regardless of the position within that string. In
addition, this search utility can also search for an opening
string and print out matching games in a variety of common
formats.
Finally, if you are going to store a large number of games,
one must be prepared to deal with your system's Disk Operating
System (DOS). CHESSEDT game files each contain one game;
therefore, if you have 1000 games, you must have 1000 files on
your disk. Please note that the root directory on a floppy disk
can only hold a hundred or so files. To store more, create a
subdirectory for your game files. If you are using a hard disk
to store game files, another problem arises. Most hard disks
access files according to a cluster, which can be defined
anywhere from 512 bytes to 4000 bytes or more. Regardless of the
size of your game file, it will effectively take a full cluster
of storage space, since there can be only one file per cluster.
So even if your game file is 600 bytes, it may require around
2000 bytes of storage, depending on the cluster size of your hard
drive. Motto: watch your disk space carefully, or store your
games on floppies, which usually have a cluster size of only 1024
bytes. Floppies are slower, but more space efficient when
dealing with large numbers of very small files.
With such a large number of game files, you may wish to
rename them according to their opening for easy retrieval, and to
sort them into subdirectories on the basis of their opening name.
Perhaps you wish to renumber them. I have included a few
renaming utilities to help with this.
Finally, please note that if you are REALLY into collecting
HUGE numbers of chess games, even these utilities cannot keep
pace. Such a chess hobbyist should definitely think about a
commercial chess database.
III. AUTOKEY.EXE
A. Overview
The AUTOKEY utility reads in CHESSEDT game files, and will
search through a predefined database of opening codes until a
match is found. The search method is textual, rather than
positional; therefore, it is not as accurate as other methods.
However, the user should find the performance surprisingly
accurate in most situations. I have used this utility to key
several thousand games with a reasonable degree of precision.
Please note that this utility will *only* work with short
algebraic chess notation, ie e4 Nf6, rather than e2-e4 g8-f6,
etc.
Further note than the program can catch simple
transpositions. The order of the moves are irrelevent. To
AUTOKEY, the following are identical:
1.e4 c6 2.d4 d5 3.Nc3 Nf6
1.Nc3 c6 2.d4 d5 3.e4 Nf6
B. How it works
AUTOKEY consists of two files. The first is the program
AUTOKEY.EXE, which contains the program executable code. It was
written in Turbobasic, of all things, and is not the paragon of
speed. However, I have noticed that computers installed with a
math coprocessor, or computers with 25Mhz or higher, are
reasonably fast for small to mid-sized applications. If you are
going to key many hundreds of game files (or thousands!) on an
old XT, you should plan to leave the computer on overnight. It
is not the author's contention that this program performs nearly
as fast as commercial database keys.
The companion file is OPENING.DAT, which is the catalogue of
opening systems which AUTOKEY can recognize. OPENING.DAT is
nothing more than a text file, which contains opening names and
corresponding moves, one after the other. If the user wishes,
he/she may add or change the openings found in this file by using
a text editor or word processor which can save to raw ASCII.
Please make sure, if changing OPENING.DAT, that your word
processor does not leave special codes in the saved text.
In order for AUTOKEY.EXE to properly read OPENING.DAT, the
following rules apply:
1. There must be no blank lines anywhere in the file
2. The opening entry must contain two lines; firstly,
the name of the opening (preferably under 40
characters, but up to 80). The second line
will contain the moves of the opening.
Notice that this means opening names are
on odd numbered lines, and moves on even
numbered lines.
3. The opening moves must be in condensed short
algebraic. (see section III D for what I mean
by this admittedly confusing term)
4. There should be no blank spaces at the beginning
or end of any line.
5. Do not include move numbers, ie write 1.e4 c6 2.d4
as e4 c6 d4
In the current version, AUTOKEY can read up to 500 openings,
and already has around 245 in the OPENING.DAT file.
C. Using AUTOKEY
To reiterate: AUTOKEY.EXE can only read short algebraic
chess notation (ie, e4, Nf3). This has become the norm in most
magazines and BBS chess ASCII files. However, there are still
some sources which use old descriptive notation (P-K4, N-KB3,etc);
AUTOKEY cannot recognize those. And although AUTOKEY reads
short algebraic game files, any additions or changes to the
provided OPENING.DAT file must be in condensed short algebraic.
But if you don't change the OPENING.DAT file, and you probably
won't, that's no problem.
Make sure both AUTOKEY.EXE and OPENING.DAT are in the
current directory. Now, at the dos prompt type 'AUTOKEY' and hit
your return key. The program will load and execute. For the
next several moments, depending on the speed of your computer,
the program will read in the openings and set up an internal
array. Once this has been completed, the computer will prompt
you for the directory that contains the CHESSEDT games you want
keyed. Be sure to write this as you would in any ordinary Dos
application, including the drive and backslashes. For example:
c:\gamfiles\
or
d:\chess\games\
(Please include the final backslash)
Now hit return.
The computer now asks for a filespec. That means it wants
you to describe that name(s) of the game file(s) you want keyed.
I use the possible plural since the program *does* accept Dos
wildcards. Here are some examples:
BRAD0291.GAM (to key a single game of that file name)
US91*.GAM (to key all games which have US91 in the
first four characters of the file name)
Hit return again.
Now the tricky part. The program will ask you for the
number of iterations you require, from 0 to 4. Obviously, we
must take a moment to describe what an 'iteration' means in the
context of this program!
The number of iterations determines how deep in the game
file AUTOKEY will search for an opening. On the first pass,
AUTOKEY will only search as deeply as the current opening being
considered; ie, if AUTOKEY is currently considering e4 c6, it
will first search only the first two ply (one move) of the game
file. It will do so for each opening in the database described
by OPENING.DAT.
Now, if there are no opening matches larger than 2 ply,
AUTOKEY must decide whether to search further into the game.
This is where the term iteration comes in. If there are no
matches in the first pass, and iteration is set to one, AUTOKEY
will go back and try again to key the game, THIS TIME SEARCHING
ONE EXTRA PLY INTO THE GAME FILE. Notice if there is an exact
match on the first pass (iteration 0), and this match is greater
than 2 ply, the game will be keyed and the program will look no
further.
Up to four iterations may be selected; that is, for
particularly difficult games, AUTOKEY will search up to 4 ply
into the game beyond the number of moves in openings searched
for. Then it will just give up; "call it irregular for heavens
sake!", AUTOKEY seems to be saying.
The purpose of the iteration ability was to make it possible
to catch opening transpositions which include an odd move or two.
The trade off is that AUTOKEY may start to recognize more than
one good opening match, and possibly some inferior matches as
well.
An iteration setting of 2 is quite adequate.
Once you have chosen the number of iterations, hit return
and the program will begin. The progress is shown on the screen.
Each game file name is printed as it is considered, and beneath
it are any matches that are found. AUTOKEY will attempt to find
the best match as it continues its work, so a game which is a Ruy
Lopez will first be classified as an e-pawn opening, then a
double kings pawn opening, then a Ruy Lopez, and then (if
possible) the particular Ruy Lopez variation.
D. Short Algebraic
What do I mean by condensed short algebraic?
Well, short algebraic consists of the piece followed by
destination square. IE, Nf3 or Bc4. Pawns are simply written as
the destination square, ie e4 or d4. Captures include an 'x',
such as Nxf3 or (in the case of a pawn) cxd4.
In condensed short notation, please exclude the 'x' during a
capture. Also exclude the row number in a pawn capture. In
condensed short notation, the prior example would look like Nf3
and cd.
Also, do not include notational commentary, such as ! or ?
in the opening database. These characters are fine in the game
file, though; AUTOKEY will ignore them in its search.
IV. FINDGAME.EXE
A. Overview
FINDGAME.EXE will search game files according to a variety
of criteria, which may be used in combination. For instance, you
may search for all games by a certain player and year, and even
include an opening search string if you are trying to track down
a specific game from a large number of files. Once found, the
games which match the search criteria may be listed in a variety
of ways and saved to a text file. This text file may later be
sent to a printer, or if the user has chosen the print game
option, the file may be reviewed within CHESSEDT using the
Document view routine.
B. Using FINDGAME
Go into the directory which contains the FINDGAME.EXE file,
and type FINDGAME. When the program runs, you will see the
screen fill with a variety of choices.
First, you must tell the program the directory for it to
search in. Specify the directory as you would within DOS,
including the drive, colon, and backslash keys. For instance, to
search the GAME directory in drive a, type "A:\GAME\". Be sure
to include the last backslash.
Then the program will ask for a filespec; that is, which
file names you wish to search. You may use DOS wildcards here.
Be sure to include ".GAM", ie, "GARY*.GAM" to search all files
which begin with the letters "GARY".
Next, the program will ask for the target file. This is the
file that the program will write the results of the search to.
Write the full file name, including the directory that you want
it to be sent to. For example, "b:\CHESS\RESULTS.TXT" will send
any matching results to a file called "RESULTS.TXT" in the
directory called "CHESS" on drive "b:".
As with any DOS filenames, be sure to be accurate when
entering the above options, or an error may occur. So before
sending the results to the "CHESS" directory, make sure that the
directory exists!
The next set of questions concerns the search criteria. Any
or all of these options may be left blank. Opening, Player,
Tournament, Score, and Date are easy enough. Just type in the
particular string you are looking for. After the player option,
you have a choice of searching for that player as White, Black,
or Either (default).
For instance, if you are searching for all the games in
which Karpov played, type "Karpov" at the Player prompt, and then
select 'E' (for either white or black). You may include an
opening like "Sic", to search for Karpov's Sicilian games.
Notice that FINDGAME.EXE searches for occurence, regardless
of the position; that is, typing "Ka" at the Player prompt will
find games which have "Anatoly Karpov", "Karpov, Anatoly" or even
"Gary Kasparov" listed as a player.
The last search criteria, Opening String, can be used to
search for a particular opening string. To find games which
begin with the moves 1.e4 c6 2.d4 Bf5, type the moves without the
move numbers. That is, type "e4 c6 d4 Bf5" and hit return. If
you decide to search for an opening string, you will also be
asked for the number of iterations. See the AUTOKEY section for
an explanation of this.
The last questions simply ask how you want the results
printed to the file. If you only want the file names which
include matches, type "1", return, and then type "Yes" at the
"Include file name" prompt. Alternatively, you may wish to print
the complete games, so you might chose options 3 or 4.
Options 3 and 4 allow you to print the entire game,
including the heading and result. The only difference between
these two options is that #4 (Format B) includes the opening
name, and #3 (Format A) does not.
If the choices seem bewildering, a little practice will
quickly serve to clarify things. Choose various options to get
accustomed to the them.
V. EXTRACT.EXE - Extraction Utility
A. Overview
Many chess bulletin boards contain a number of chess game
collections which are usually kept in plain ASCII text files. It
is instructional to download these collections and play over the
games at your leisure. If you extract these games to CHESSEDT
format, you can use CHESSEDT to categorize, edit,and view those
games. The problem is that there is sometimes a bit of work
necessary to get the text file into a form that CHESSEDT can
understand. EXTRACT can diminish, but probably will not
eliminate, the work required to input a large number of ASCII
chess games from a text file to CHESSEDT format.
Steve Wharry's CHESSEDT provides a utility within the
program to extract chess games from plain text files. First,
however, the user must edit the text files and insert various
delimiters to tell CHESSEDT where games, headings, etc begin and
end. Even with a good word processor, this can be a tedious
task. EXTRACT has four options for inputing those delimiters
automatically to a text file. If a text file contains chess
games which match one of the standard formats that EXTRACT can
recognize, then the process of extracting up to hundreds of games
can be completed in a tiny fraction of the time previously
required. If the text file you wish to extract games from
presents games in a format EXTRACT cannot recognize, then it is
likely that you can use a few global search/replace functions in
your word processor to alter the text file until EXTRACT is able
to recognize it.
B. Preparing the Text File
In order to use EXTRACT, the file of chess games must:
1) be in ordinary ASCII; that is, it should have no special
codes. If you edit the text file with your word
processor, make sure you save the game as plain ASCII.
By default, many word processors include special codes
when saving text, but you will want to over-ride this.
2) have a blank line both at the beginning and at the end
of the text file
3) there must be at least one blank line between chess games
4) each chess game must have the result immediately at the
end of the moves, either on the same line as the last
line of moves, or on the line immediately thereafter
5) the result should be in the form 1-0, 0-1, or Draw (or
1/2). Extract cannot recognize 'Win' or 'Mate', since it
is not smart enough to figure out which player won.
6) each line of a chess game MUST be flush with the
left margin; that is, there should be no spaces at the
beginning of any line in a chess game.
These conditions may seem stringent, however, most chess
text files already meet all six of these requirements.
EXTRACT searches for chess games by searching for results.
For example, when it finds "1-0", it assumes it has found the end
of a game. Then, it searches backward for the moves and a
heading. But in reality, EXTRACT can only recognize games if
they appear in one of four formats, which are here referred to as
'A', 'B', 'C' and 'D'.
You will probably still need your word processor to make
sure that the games in the text file are in one of these forms.
However, most collections of games I've seen on bulletin boards
are close to one of these forms, and a little global
search/replace from a word processor will get things in order.
B.1 FORMAT A
Format 'A' consists of a heading which contains players'
names and the tournament (which may include a date). A game in
format 'A' should look as follows:
WHITEPLAYER-BLACKPLAYER
TOURNAMENT
1.e4 c6 2.d4 c6 ..... (or whatever the moves are)
RESULT
example:
Kasparov,G-Chiburdanidze,M
Baku, 1980
1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.Nf3 0-0 6.Be2 e5 7.Be3 Qe7
8.d5 Ng4 9.Bg5 f6 10.Bh4 h5 11.h3 Nh6 12.Nd2 c5 13.Nf1 Nf7 14.g4
hxg4 15.Bxg4 g5 16.Bxc8 Rxc8 17.Ne3 gxh4 18.Nf5 Qd8 19.Qg4 Ng5
20.Nxh4 Rc7 21.Nf5 a6 22.h4 Nh7 23.Rg1 Qf8 24.Ke2 Ra7 25.a4 b6
26.Qh5 Kh8 27.Rg6 Rd7 28.Rag1 Rab7 29.Qg4 Rbc7 30.Rg2 Rb7 31.Kf1
Ra7 32.Kg1 Rf7 33.Ne2 Qc8 34.f4 b5 35.axb5 axb5 36.cxb5 Rab7
37.h5 Nf8 38.Qh3 Nxg6 39.hxg6+ Kg8 40.gxf7+ Kf8
1-0
If your text file contains chess games in this format, then
you should choose option '1' from the EXTRACT main menu.
B.2 FORMAT B
Format B is the same, except that it reads games which have
the opening listed on a line between the TOURNAMENT line and the
first line of game moves. That is:
WHITEPLAYER-BLACKPLAYER
TOURNAMENT
OPENING
1.e4 c6 2.d4 c6 ..... (or whatever the moves are)
RESULT
example:
Kasparov,G-Chiburdanidze,M
Baku, 1980
KIN 01: King's Indian - Classical
1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.Nf3 0-0 6.Be2 e5 7.Be3 Qe7
8.d5 Ng4 9.Bg5 f6 10.Bh4 h5 11.h3 Nh6 12.Nd2 c5 13.Nf1 Nf7 14.g4
hxg4 15.Bxg4 g5 16.Bxc8 Rxc8 17.Ne3 gxh4 18.Nf5 Qd8 19.Qg4 Ng5
20.Nxh4 Rc7 21.Nf5 a6 22.h4 Nh7 23.Rg1 Qf8 24.Ke2 Ra7 25.a4 b6
26.Qh5 Kh8 27.Rg6 Rd7 28.Rag1 Rab7 29.Qg4 Rbc7 30.Rg2 Rb7 31.Kf1
Ra7 32.Kg1 Rf7 33.Ne2 Qc8 34.f4 b5 35.axb5 axb5 36.cxb5 Rab7
37.h5 Nf8 38.Qh3 Nxg6 39.hxg6+ Kg8 40.gxf7+ Kf8
1-0
If your text file contains games in this format, then choose
option '2' from the EXTRACT main menu.
B.3 Format C
Format C has each player listed, on a separate line, as
white or black. The words "White:" or "Black:" or "W:" or "B:"
are recognized by extract as player labels. Then follows the
tournament name, and next an opening label. After this heading
follow the moves and result.
Some examples of this format are:
White: Kasparov,G
Black: Chiburdanidze,M
Baku, 1980
KIN 01: King's Indian - Classical
1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.Nf3 0-0 6.Be2 e5 7.Be3 Qe7
8.d5 Ng4 9.Bg5 f6 10.Bh4 h5 11.h3 Nh6 12.Nd2 c5 13.Nf1 Nf7 14.g4
hxg4 15.Bxg4 g5 16.Bxc8 Rxc8 17.Ne3 gxh4 18.Nf5 Qd8 19.Qg4 Ng5
20.Nxh4 Rc7 21.Nf5 a6 22.h4 Nh7 23.Rg1 Qf8 24.Ke2 Ra7 25.a4 b6
26.Qh5 Kh8 27.Rg6 Rd7 28.Rag1 Rab7 29.Qg4 Rbc7 30.Rg2 Rb7 31.Kf1
Ra7 32.Kg1 Rf7 33.Ne2 Qc8 34.f4 b5 35.axb5 axb5 36.cxb5 Rab7
37.h5 Nf8 38.Qh3 Nxg6 39.hxg6+ Kg8 40.gxf7+ Kf8
1-0
- or -
W: Kasparov,G
B: Chiburdanidze,M
Baku, 1980
KIN 01: King's Indian - Classical
1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.Nf3 0-0 6.Be2 e5 7.Be3 Qe7
8.d5 Ng4 9.Bg5 f6 10.Bh4 h5 11.h3 Nh6 12.Nd2 c5 13.Nf1 Nf7 14.g4
hxg4 15.Bxg4 g5 16.Bxc8 Rxc8 17.Ne3 gxh4 18.Nf5 Qd8 19.Qg4 Ng5
20.Nxh4 Rc7 21.Nf5 a6 22.h4 Nh7 23.Rg1 Qf8 24.Ke2 Ra7 25.a4 b6
26.Qh5 Kh8 27.Rg6 Rd7 28.Rag1 Rab7 29.Qg4 Rbc7 30.Rg2 Rb7 31.Kf1
Ra7 32.Kg1 Rf7 33.Ne2 Qc8 34.f4 b5 35.axb5 axb5 36.cxb5 Rab7
37.h5 Nf8 38.Qh3 Nxg6 39.hxg6+ Kg8 40.gxf7+ Kf8
1-0
If your text file contains games in one of these two
formats, then choose option '3' from the EXTRACT main menu.
B.4 Format D
Format D has the name of the opening listed on line one
along with (after several spaces) some other notation used to
describe its source. On the next line come the player names
separated by a dash, and on the third line of the heading is the
tournament. Then follow the moves and the result.
I have noticed that NICBASE often uses this format to output
its games.
Example:
AB 1.23.4 Mag Article
Kasparov,G - Chiburdanidze,M
Baku, 1980
1.d4 Nf6 2.c4 g6 3.Nc3 Bg7 4.e4 d6 5.Nf3 0-0 6.Be2 e5 7.Be3 Qe7
8.d5 Ng4 9.Bg5 f6 10.Bh4 h5 11.h3 Nh6 12.Nd2 c5 13.Nf1 Nf7 14.g4
hxg4 15.Bxg4 g5 16.Bxc8 Rxc8 17.Ne3 gxh4 18.Nf5 Qd8 19.Qg4 Ng5
20.Nxh4 Rc7 21.Nf5 a6 22.h4 Nh7 23.Rg1 Qf8 24.Ke2 Ra7 25.a4 b6
26.Qh5 Kh8 27.Rg6 Rd7 28.Rag1 Rab7 29.Qg4 Rbc7 30.Rg2 Rb7 31.Kf1
Ra7 32.Kg1 Rf7 33.Ne2 Qc8 34.f4 b5 35.axb5 axb5 36.cxb5 Rab7
37.h5 Nf8 38.Qh3 Nxg6 39.hxg6+ Kg8 40.gxf7+ Kf8
1-0
If your text file contains games in this format, select '4'
from the EXTRACT main menu.
D. Running EXTRACT.EXE
When running the program, you will be presented with a menu
of options. To extract game files, choose the option which
matches the format of the games in the text file. Then, the
program will ask you to specify the source file (including
directory) and target file. The target file that EXTRACT writes
will hopefully be suitable for extraction by CHESSEDT.
NOTE #1: watch for games with more than 100 moves; CHESSEDT
has trouble reading these, and you could get an error. If in
doubt, go into the target file, search for games with more than
100 moves, and either delete them or put extra moves between the
annotation delimiters.
NOTE #2: EXTRACT.EXE has a simple routine which tries to
find the date in the tournament heading. At present, it will
only recognize a full year. For instance, if the text file chess
game lists the tournament as "Linares 1990", then 1990 will
appear in the CHESSEDT file as the date (in addition to appearing
in the tournament name). However, EXTRACT.EXE will not
recognize partial year citations, like "Linares '90".
Also, the present program will only recognize years within
the 20th century.
NOTE #3: the pre-extraction routines are PICKY! If some of
the chess games in your text file deviate from the format you
have specified, you will most likely wind up with an error. So
be sure to quickly review your text file beforehand to catch any
incongrous games.
D. After Extraction
After extracting games with CHESSEDT.EXE, you might run
option 3 on the EXTRACT main menu (post-extraction utility).
This will make sure that the result was recorded. Sometimes
CHESSEDT has trouble finding the result. The post-extraction
utility will search game files, and if the result is found in an
annotation, it will also be recorded in the CHESSEDT file's
internal heading. Since the pre-extraction routines put results
in annotations, it is a good idea to run POSTEX on the games
after they have been extracted by CHESSEDT.
When run, the post-extraction routine will ask for a
directory to look in. As usual, be sure to include the drive,
colon, and the directory with leading and trailing slashes, ie
"A:\GAMES\". Then the program will ask for a filespec. Type in
a file name (with DOS wildcards, if desired) and POSTEX will
place the result of the game from annotation to heading of the
matching file (or files). Usually, the filespec will be
something like "*.GAM", to specify all game files in that
directory.
VI. FLNM.EXE
A. Overview
Since CHESSEDT's games are each stored as a separate file,
the user may find it convenient to have some file-oriented
utilities to help organize his/her collection of games. To this
end, FLNM contains three interesting utilities:
FLNM1 will take the first four letters of the opening and
place it in the first four spaces of the file name. Good for
naming files according to their opening!
FLNM2 will renumber a range of games sequentially, using the
last four spaces of the file name. This can be used to refer to
games by their number, which is particularly useful in an opening
database where files have similar names.
FLNM3 will transpose the first four letters of the file name
with the last four letters. Since CHESSEDT doesn't need a full
file name to open a game file, users often only include a partial
name, such as "Mark". In this case, CHESSEDT opens the first
game file it finds where the first four letters are "Mark".
Naturally, in an opening database, it may be useful to bring the
number of the file (if the last four letters in the file name are
a number) to the front. That way, if you want to view game #45,
you can just enter 0045 when CHESSEDT prompts you for a file
name.
B. Using FLNM.EXE
To use FLNM1, FLNM2, or FLNM3, type 1,2, or 3 at the main
menu of FLNM.EXE.
In each case, the program will ask for the directory to look
in (remember drive and backslashes!) and a filespec. As usual,
the filespec may include DOS wildcards if you wish to affect a
number of files at once.
The program FLNM2 will also ask for a starting number. The
default is to start numbering sequentially at 1.
APPENDIX: Autokey Opening Codes
These openings are already provided in OPENING.DAT and are
recognized by AUTOKEY.
IRR 01: King's Pawn Game
IRR 02: Double King's Pawn Game
IRR 03: Queen's Pawn Game
IRR 04: Double Queen's Pawn Game
KGD 00: King's Gambit Declined
KGA 00: King's Gambit Accepted
KBG 00: King's Bishop Gambit
FCG 00: Falkbeer Countergambit
VIE 00: Vienna Game
RUY 00: Ruy Lopez
RUY 01: Ruy Lopez - Classical
RUY 02: Ruy Lopez - Berlin Defense
RUY 03: Ruy Lopez - Cozio Defense
RUY 04: Ruy Lopez - Bird's Defense
RUY 05: Ruy Lopez - Schliemann Defense
RUY 06: Ruy Lopez - Old Steinitz
RUY 07: Ruy Lopez - g6 Variation
RUY 08: Ruy Lopez - Exchange Variation
RUY 09: Ruy Lopez - Fianchetto
RUY 10: Ruy Lopez - Breyer
RUY 11: Ruy Lopez - Smyslov
RUY 12: Ruy Lopez - Chigorin
RUY 13: Ruy Lopez - Marshall Attack
RUY 14: Ruy Lopez - Open Defense
RUY 15: Ruy Lopez - Modern Steinitz
THR 00: Three Knights' Game
FOR 00: Four Knights' Game
GIU 00: Giuoco Piano
GIU 01: Giuoco Piano - Moller Attack
GIU 02: Giuoco Piano - "Pianissimo"
GIU 03: Giuoco Piano - Evans Gambit
TWO 00: Two Knights
TWO 01: Two Knights - Main Line
TWO 02: Two Knights - Wilkes-Barre
TWO 03: Two Knights - Max Lange Attack
SCO 00: Scotch Game
SCO 01: Scotch Gambit
GOR 00: Goring Gambit
PON 00: Ponziani's Opening
PET 00: Petrov's Defense
PHI 00: Philidor's Defense
PHI 01: Philidor's Defense - Hanham
LAT 00: Latvian Gambit
BIS 00: Bishop's Opening
CEN 00: Center Game
DAN 00: Danish Gambit
HUN 00: Hungarian Defense
QPC 00: Queen's Pawn Counter Gambit
ALA 00: Alapin's Opening
ALE 00: Alekhine
ALE 01: Alekhine - Modern Variation
ALE 02: Alekhine - Exchange Variation
ALE 03: Alekhine - Four Pawns Attack
ALE 04: Alekhine - Two Pawns Attack
CAR 00: Caro-Kann
CAR 01: Caro-Kann - Main Line
CAR 02: Caro-Kann - Classical
CAR 03: Caro-Kann - Nimzowitsch
CAR 04: Caro-Kann - Advance
CAR 05: Caro-Kann - Two Knights
CAR 06: Caro-Kann - Panov-Botvinnik
CAR 07: Caro-Kann - Exchange
CAR 08: Caro-Kann - Fantasy
FRE 00: French
FRE 01: French - Classical
FRE 02: French - Alekhine-Chatard
FRE 03: French - Burn
FRE 04: French - Maccutcheon
FRE 05: French - Steinitz
FRE 06: French - Rubinstein
FRE 07: French - Winawer
FRE 08: French - Tarrasch
FRE 09: French - Tarrasch (Guimard Var)
FRE 10: French - Exchange
FRE 11: French - Advance
FRE 12: French - Tchigorin
FRE 13: French - Two Knights'
FRE 14: French - King's Indian Attack
SIC 00: Sicilian
SIC 01: Sicilian - Najdorf
SIC 02: Sicilian - Najdorf Poisoned Pn
SIC 03: Sicilian - Najdorf Polugaevsky
SIC 04: Sicilian - Scheveningen
SIC 05: Sicilian - Scheveningen
SIC 06: Sicilian - Scheveningen Keres
SIC 07: Sicilian - Dragon
SIC 08: Sicilian - Dragon Yugoslav
SIC 09: Sicilian - Dragon Classical
SIC 10: Sicilian - Dragon Levenfish
SIC 11: Sicilian - Accelerated Dragon
SIC 12: Sicilian - Taimanov
SIC 13: Sicilian - Paulsen
SIC 14: Sicilian - Four Knights
SIC 15: Sicilian - Counter Attack
SIC 16: Sicilian - Lowenthal
SIC 17: Sicilian - Pelikan
SIC 18: Sicilian - Richter-Rauzer
SIC 19: Sicilian - Boleslavsky
SIC 20: Sicilian - Velimirovic
SIC 21: Sicilian - Sozin
SIC 22: Sicilian - Closed
SIC 23: Sicilian - Gran Prix
SIC 24: Sicilian - Morra Gambit
SIC 25: Sicilian - Nimzowitsch
SIC 26: Sicilian - Wing Gambit
SIC 27: Sicilian - Keres
PIR 00: Pirc
PIR 01: Pirc - Austrian
PIR 02: Pirc - Classical
PIR 03: Pirc - Byrne
PIR 04: Pirc - Fianchetto
PIR 05: Pirc - f3 System
MOD 00: Modern Defense
CCD 00: Center Counter Defense
NIM 00: Nimzowitsch Defense
SAI 00: St. George
BAS 00: Basman Defense
OWE 00: Owen's Defense
QGD 00: Queen's Gambit
QGD 01: QGD - Orthodox
QGD 02: QGD - Petrosian
QGD 03: QGD - Cambridge Springs
QGD 04: QGD - Lasker's Defense
QGD 05: QGD - Tartakower Variation
QGD 06: QGD - Exchange Variation
QGD 07: QGD - Classical
QGD 08: QGD - Ragozin
QGD 09: QGD - Semi-Tarrasch
QGD 10: QGD - Tarrasch
QGD 11: QGD - Tarrasch Rubinstein
QGD 12: QGD - Tarrasch Swedish Var.
QGD 13: QGD - Tarrasch Marshall Gambit
QGD 14: QGD - Tarrasch Von Hennig Gmbt
QGD 15: QGD - Chigorin's Defense
QGD 16: QGD - Albin Counter Gambit
QGA 00: Queen's Gambit Accepted
QGA 01: QGA - Main Line
SLA 00: Slav
SLA 01: Semi-Slav Meran
SLA 02: Semi-Slav - Romih Variation
SLA 03: Semi-Slav Anti-Meran
SLA 04: Slav Czech
SLA 05: Slav Exchange
SLA 06: Slav Exchange - Marshall Gambit
SLA 07: Slav Exchange - Abrahams
BDG 00: Blackmar-Diemer Gambit
VER 00: Veresov Attack
QBA 00: Queen's Bishop Attack
TOR 00: Torre Attack
RUT 00: Ruth-Trompowski Attack
STO 00: Stonewall Variation
COL 00: Colle System
KFD 00: King's Fianchetto Defense
POL 00: Polish Defense
QKD 00: Queen's Knight Defense
BLU 00: Blumenfeld Counter Gambit
BUD 00: Budapest Defense
BUD 01: Budapest Defense - Fajarowicx
DUT 00: Dutch Defense
DUT 01: Dutch Defense - Leningrad
DUT 02: Dutch Defense - Classical
DUT 03: Dutch Defense - Staunton Gambt
QIN 00: Queen's Indian
QIN 01: Queen's Indian
QIN 02: Queen's Indian - Petrosian
BOG 00: Bogo-Indian Defense
NID 00: Nimzo-Indian
NID 01: Nimzo-Indian - Classical
NID 02: Nimzo-Indian - Milner-Barry
NID 03: Nimzo-Indian - Rubinstein
NID 04: Nimzo-Indian - Gligoric Var.
NID 05: Nimzo-Indian - Fischer Var.
NID 06: Nimzo-Indian - Hubner System
NID 07: Nimzo-Indian - Saemisch
NID 08: Nimzo-Indian - Leningrad
NID 09: Nimzo-Indian - Spielman Var.
CAT 00: Catalan
CAT 01: Catalan - Open Variation
CAT 02: Catalan - Classical
CAT 03: Catalan - Closed Variation
GIN 00: Grunfeld Defense
GIN 01: Grunfeld Defense - Exchange
GIN 02: Grunfeld Defense - Classical
GIN 03: Grunfeld Defense - Smyslov
GIN 04: Grunfeld Defense - Prins Var.
GIN 05: Grunfeld Defense - NeoGrunfeld
KIN 00: King's Indian
KIN 01: King's Indian - Classical
KIN 02: King's Indian - Samisch
KIN 03: King's Indian - Samisch Orthod
KIN 04: King's Indian - Samisch Panno
KIN 04: King's Indian - Fianchetto
KIN 05: King's Indian - Averbakh
KIN 06: King's Indian - Four Pawns
OLD 00: Old Indian Defense
BEN 00: Benoni
BEN 01: Benoni - Main Line
BEN 02: Benoni - Knight's Toure
BEN 03: Benoni - Four Pawns
BEN 04: Benoni - Mikenas Attack
BEN 05: Benoni - Taimanov's Variation
BEN 06: Czech Benoni
BEN 07: Old Benoni
BKG 00: Benko Gambit
ENG 00: English
ENG 01: English - Sicilian Reversed
ENG 02: English - Four Knights
ENG 03: English - Bremen
ENG 04: English - Keres
ENG 05: English - Closed
ENG 06: English - Symmetrical
ENG 07: English - Symm. Four Knights
ENG 08: English - Hedgehog
ENG 09: English - Rubinstein/Botvinnik
ENG 10: English - Ultra-Symmetrical
ENG 11: English - Asymmetrical Var.
RET 00: Reti
RET 01: Reti - Barcza
RET 02: Reti - Benoni Reversed
RET 03: Reti Accepted
RET 04: Reti - London System
RET 05: Reti - Neo-Catalan
KIA 00: King's Indian Attack
KIA 01: King's Indian Attack
GRR 00: Grunfeld Reversed
NIA 00: Nimzowitsch-Larsen Attack
NIA 01: Nimzowitsch-Larsen Attack
PDD 00: Polish Defense Deferred
LIS 00: Lisitsin Gambit
KFO 00: Benko's Opening
LAR 00: Larsen's Opening
BIR 00: Bird's Opening
FRO 00: From's Gambit
GRO 00: Grob's Attack
DUN 00: Dunst
SOK 00: Sokolsky Opening